package com.itheima.service.impl;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.itheima.common.PageBean;
import com.itheima.dtos.PageCheckItemDto;
import com.itheima.mapper.CheckItemMapper;
import com.itheima.mapper.CustomerMapper;
import com.itheima.pojo.CheckItem;
import com.itheima.pojo.Customer;
import com.itheima.service.CheckItemService;
import com.itheima.service.CustomerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class CheckItemServiceImpl implements CheckItemService {

    @Autowired
    CheckItemMapper checkItemMapper;
    //分页查

    /**
     * 条件分页查
     * @param pageCheckItemDto 条件
     * @return 查到的数据
     */
    @Override
    public PageBean<Customer> queryPage(PageCheckItemDto pageCheckItemDto) {
        PageHelper.startPage(pageCheckItemDto.getPage(), pageCheckItemDto.getSize());//开启分页

        pageCheckItemDto.setCode(pageCheckItemDto.getName());//前端要求查询name或者code都行,但是又只传递一个参数
        List<Customer> listCustomer = checkItemMapper.queryPage(pageCheckItemDto);

        Page<Customer> p = (Page<Customer>) listCustomer;
        return new PageBean<Customer>(p.getTotal(), p.getResult());
    }

    //根据id查

    /**
     * 根据id查
     * @param id id
     * @return 查到的数据
     */
    @Override
    public CheckItem queryCheckItemById(Integer id) {
        CheckItem checkItem = checkItemMapper.queryCheckItemById(id);
        return checkItem;
    }

    //根据id删除

    /**
     * 根据id删除
     * @param id id
     */
    @Override
    public void deleteById(Integer id) {
        checkItemMapper.deleteById(id);
    }

    //添加

    /**
     * 添加一条数据
     * @param checkItem 数据
     */
    @Override
    public void insert(CheckItem checkItem) {
        checkItemMapper.insert(checkItem);
    }

    //根据id修改

    /**
     * 根据id修改更新数据
     * @param checkItem 数据
     */
    @Override
    public void updateById(CheckItem checkItem) {
        checkItemMapper.updateById(checkItem);
    }
}
